搭建远端存储,深度解读SPDK NVMe 您所在的位置:网站首页 spdk ceph 搭建远端存储,深度解读SPDK NVMe

搭建远端存储,深度解读SPDK NVMe

2023-08-11 16:32| 来源: 网络整理| 查看: 265

NVMF_TGT_INIT_START_SUBSYSTEMS:

在每个poll group上把所有的NVMe-oF的subsystem 状态设置为ACTIVE。 然后进入状态NVMF_TGT_INIT_START_ACCEPTOR。

NVMF_TGT_INIT_START_ACCEPTOR: 

这个状态,实际是根据所定义的acceptor_poll_rate, 设置一个定时器poller, 这个poller会调用函数acceptor_poll, 用于在每个transport上处理监听到事件。然后进入NVMF_TGT_RUNNING状态。

NVMF_TGT_RUNNING:

这个状态表明NVMe-oF 这个模块的subsystem已经初始化好了,可以初始化下一个subsystem。

NVMF_TGT_FINI_STOP_SUBSYSTEMS:

这个状态只有在整个app退出的时候,实际上主要是主动退出,或者大部分状态是收到kill (比如ctrlr+c)命令的时候,才会触发NVMf 模块的subsystem(注意这里指的是NVMf subsystem 这个模块)的退出,即被调用spdk_nvmf_subsystem_fini函数,然后被调用到_spdk_nvmf_shutdown_cb函数。进入这个状态后,我们会按照顺序关闭每一个NVMe-oF 这个 subsystem。接着进入:NVMF_TGT_FINI_DESTROY_POLL_GROUPS状态。

NVMF_TGT_FINI_DESTROY_POLL_GROUPS:

在每个SPDK thread上,调用nvmf_tgt_destroy_poll_group, 来销毁polling group, 在这个函数里面会调用spdk_nvmf_poll_group_destroy销毁这个polling group上的所有qpair。当nvmf_tgt_destroy_poll_group_done被调用到的时候,我们进入NVMF_TGT_FINI_STOP_ACCEPTOR。

NVMF_TGT_FINI_STOP_ACCEPTOR: 

销毁处理所有transport 监听事件的poller。然后进入NVMF_TGT_FINI_FREE_RESOURCES状态。

NVMF_TGT_FINI_FREE_RESOURCES: 

销毁g_spdk_nvmf_tgt 所拥有的资源。最终调用函数nvmf_tgt_destroy_done, 然后进入NVMF_TGT_STOPPED状态。

NVMF_TGT_STOPPED: 

NVMe-oF 这个模块的subsystem已经被销毁,可以处理下一个模块的subsystem。

NVMF_TGT_ERROR: 

主要是有错误的时候进入这个状态,然后进行下一个模块subsystem的初始化。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有